Recientemente he estado aprendiendo Python 3 y no puedo obtener ningún ejemplo que involucre la interpolación de cadenas (formato) para que funcione.
In [1]: state = "Washington" In [2]: state Out[2]: 'Washington' In [3]: my_message = f"I live in {state}" File "<ipython-input-3-d004dd9e0255>", line 1 my_message = f"I live in {state}" ^ SyntaxError: invalid syntaxSupuse que mi máquina estaba por defecto en python 2, pero una revisión rápida revela:
Python 3.5.2 (default, Nov 17 2016, 17:05:23) Type "copyright", "credits" or "license" for more information. IPython 5.2.2 -- An enhanced Interactive Python.Estoy en Ubuntu 16.04:
python3 --version Python 3.5.2¿Solo estoy pasando por alto la sintaxis básica? He ejecutado los mismos comandos en algunas computadoras de otros estudiantes y parece funcionar bien.
Como sugirió Josh Lee en la sección de comentarios, ese tipo de interpolación de cadenas se agregó solo en Python 3.6, consulte Novedades en Python 3.6 (aquí se llama " PEP 498 : literales de cadena formateados").
Sin embargo, parece estar usando Python 3.5.2, que no admite esa sintaxis.
Esta es una pregunta bastante antigua y no estoy seguro si se respondió en otro lugar, pero me encontré con el mismo problema y aterrizó en algunas páginas confusas. Me di cuenta un par de minutos después. Debajo de la línea debería funcionar.
my_message = "I live in {}".format(state).format funciona para 3.5. Documentándolo aquí para alguien que pueda necesitarlo por un problema similar.
Lo que funcionó para mí (en python 3.8.5 en sublime) fue eliminar el archivo f.
message = "I live in {state}" Lo encuentro más fácil que .format(state)